package com.utooo.service.supplier;


import com.utooo.pojo.dto.supplier.deliveryplan.DeliveryPlanUpdateDto;
import com.utooo.pojo.dto.supplier.execution.PurchasePushDto;
import com.utooo.pojo.dto.supplier.execution.PurchaseUpdateDto;

/**
 * @Description:
 * @Author SJD
 * @Date: 2025/4/22 14:12
 * @Copyright: 南京优通信息科技股份有限公司
 */
public interface PurchaseExecutionService {
    /**
     * 推送采购订单到供应商门户
     * @param purchaseExecutionDto
     * @return
     */
    Boolean pushPurchase(PurchasePushDto purchaseExecutionDto);

    /**
     * 供应商确认推送来的采购订单状态
     * @param purchaseUpdateDto
     * @return
     */
    Boolean updatePurchase(PurchaseUpdateDto purchaseUpdateDto);

    /**
     * 供货商提交交货计划
     * @param deliveryPlanUpdateDto
     * @return
     */
    Boolean pushDeliveryPlan(DeliveryPlanUpdateDto deliveryPlanUpdateDto);

    /**
     * 采购方审核交货计划
     * @param deliveryPlanUpdateDto
     * @return
     */
    Boolean auditDeliveryPlan(DeliveryPlanUpdateDto deliveryPlanUpdateDto);

    /**
     * 采购方推送采购成交价到历史价格
     * @param purchaseExecutionDto
     * @return
     */
    Boolean pushTransactionPrice(PurchasePushDto purchaseExecutionDto);

    /**
     * 生成采购执行报表
     * @return
     */
    Boolean executeOrderExecution();

    Boolean executeOrderSettlement();
}
